﻿using Scorpicore.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Linq.Expressions;
using System.Web;

namespace Scorpicore.MVC.Models
{
    public class TracksInTopTenBanknotesViewModel
    {
        public static Expression<Func<Track, TracksInTopTenBanknotesViewModel>> FromTrack
        {
            get
            {
                return b => new TracksInTopTenBanknotesViewModel
                {
                    Id = b.Id,
                    Place = b.Place.Name,
                    Date = b.Date,
                    Message = b.Message,
                    User = b.User.UserName
                };
            }
        }

        [ScaffoldColumn(false)]
        public int Id { get; set; }

        [Display(Name = "Населено място")]
        [Required(ErrorMessage = "Моля, попълнете населеното място.")]
        public string Place { get; set; }

        [Display(Name = "Потребител")]
        public string User { get; set; }

        [Display(Name = "Бележка")]
        [StringLength(100, MinimumLength = 10, ErrorMessage = "Бележката трябва да е между {2} и {1} символа.")]
        [Required(ErrorMessage = "Моля, попълнете вашата история с тази банкнота.")]
        public string Message { get; set; }

        [Display(Name = "Дата")]
        public DateTime Date { get; set; }
    }
}